In [1]:
!pip install cartopy
!pip install pycountry
!pip install geopandas
!pip install --upgrade plotly-express

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import cartopy.crs as ccrs
import cartopy.feature as cfeature
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: cartopy in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (0.22.0)
Requirement already satisfied: numpy>=1.21 in c:\programdata\anaconda3\lib\site-packages (from cartopy) (1.24.3)
Requirement already satisfied: matplotlib>=3.4 in c:\programdata\anaconda3\lib\site-packages (from cartopy) (3.7.2)
Requirement already satisfied: shapely>=1.7 in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (from cartopy) (2.0.3)
Requirement already satisfied: packaging>=20 in c:\programdata\anaconda3\lib\site-packages (from cartopy) (23.1)
Requirement already satisfied: pyshp>=2.1 in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (from cartopy) (2.3.1)
Requirement already satisfied: pyproj>=3.1.0 in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (from cartopy) (3.6.1)
Requirement already satisfied: contourpy>=1.0.1 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=3.4->cartopy) (1.0.5)
Requirement already satisfied: cycler>=0.10 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=3.4->cartopy) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=3.4->cartopy) (4.25.0)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=3.4->cartopy) (1.4.4)
Requirement already satisfied: pillow>=6.2.0 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=3.4->cartopy) (9.4.0)
Requirement already satisfied: pyparsing<3.1,>=2.3.1 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=3.4->cartopy) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=3.4->cartopy) (2.8.2)
Requirement already satisfied: certifi in c:\programdata\anaconda3\lib\site-packages (from pyproj>=3.1.0->cartopy) (2023.7.22)
Requirement already satisfied: six>=1.5 in c:\programdata\anaconda3\lib\site-packages (from python-dateutil>=2.7->matplotlib>=3.4->cartopy) (1.16.0)
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pycountry in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (23.12.11)
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: geopandas in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (0.14.3)
Requirement already satisfied: fiona>=1.8.21 in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (from geopandas) (1.9.6)
Requirement already satisfied: packaging in c:\programdata\anaconda3\lib\site-packages (from geopandas) (23.1)
Requirement already satisfied: pandas>=1.4.0 in c:\programdata\anaconda3\lib\site-packages (from geopandas) (2.0.3)
Requirement already satisfied: pyproj>=3.3.0 in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (from geopandas) (3.6.1)
Requirement already satisfied: shapely>=1.8.0 in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (from geopandas) (2.0.3)
Requirement already satisfied: attrs>=19.2.0 in c:\programdata\anaconda3\lib\site-packages (from fiona>=1.8.21->geopandas) (22.1.0)
Requirement already satisfied: certifi in c:\programdata\anaconda3\lib\site-packages (from fiona>=1.8.21->geopandas) (2023.7.22)
Requirement already satisfied: click~=8.0 in c:\programdata\anaconda3\lib\site-packages (from fiona>=1.8.21->geopandas) (8.0.4)
Requirement already satisfied: click-plugins>=1.0 in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (from fiona>=1.8.21->geopandas) (1.1.1)
Requirement already satisfied: cligj>=0.5 in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (from fiona>=1.8.21->geopandas) (0.7.2)
Requirement already satisfied: six in c:\programdata\anaconda3\lib\site-packages (from fiona>=1.8.21->geopandas) (1.16.0)
Requirement already satisfied: python-dateutil>=2.8.2 in c:\programdata\anaconda3\lib\site-packages (from pandas>=1.4.0->geopandas) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in c:\programdata\anaconda3\lib\site-packages (from pandas>=1.4.0->geopandas) (2023.3.post1)
Requirement already satisfied: tzdata>=2022.1 in c:\programdata\anaconda3\lib\site-packages (from pandas>=1.4.0->geopandas) (2023.3)
Requirement already satisfied: numpy>=1.21.0 in c:\programdata\anaconda3\lib\site-packages (from pandas>=1.4.0->geopandas) (1.24.3)
Requirement already satisfied: colorama in c:\programdata\anaconda3\lib\site-packages (from click~=8.0->fiona>=1.8.21->geopandas) (0.4.6)
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: plotly-express in c:\users\juan felipe\appdata\roaming\python\python311\site-packages (0.4.1)
Requirement already satisfied: pandas>=0.20.0 in c:\programdata\anaconda3\lib\site-packages (from plotly-express) (2.0.3)
Requirement already satisfied: plotly>=4.1.0 in c:\programdata\anaconda3\lib\site-packages (from plotly-express) (5.9.0)
Requirement already satisfied: statsmodels>=0.9.0 in c:\programdata\anaconda3\lib\site-packages (from plotly-express) (0.14.0)
Requirement already satisfied: scipy>=0.18 in c:\programdata\anaconda3\lib\site-packages (from plotly-express) (1.11.1)
Requirement already satisfied: patsy>=0.5 in c:\programdata\anaconda3\lib\site-packages (from plotly-express) (0.5.3)
Requirement already satisfied: numpy>=1.11 in c:\programdata\anaconda3\lib\site-packages (from plotly-express) (1.24.3)
Requirement already satisfied: python-dateutil>=2.8.2 in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.20.0->plotly-express) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.20.0->plotly-express) (2023.3.post1)
Requirement already satisfied: tzdata>=2022.1 in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.20.0->plotly-express) (2023.3)
Requirement already satisfied: six in c:\programdata\anaconda3\lib\site-packages (from patsy>=0.5->plotly-express) (1.16.0)
Requirement already satisfied: tenacity>=6.2.0 in c:\programdata\anaconda3\lib\site-packages (from plotly>=4.1.0->plotly-express) (8.2.2)
Requirement already satisfied: packaging>=21.3 in c:\programdata\anaconda3\lib\site-packages (from statsmodels>=0.9.0->plotly-express) (23.1)
In [2]:
import plotly.express as px

df = px.data.gapminder().query("year==2007")
fig = px.choropleth(df, locations="iso_alpha",
                    color="lifeExp", # lifeExp is a column of gapminder
                    hover_name="country", # column to add to hover information
                    color_continuous_scale=px.colors.sequential.Plasma)
fig.show()
In [3]:
import plotly.express as px
import geopandas as gpd

df = px.data.election()
geo_df = gpd.GeoDataFrame.from_features(
    px.data.election_geojson()["features"]
).merge(df, on="district").set_index("district")

fig = px.choropleth_mapbox(geo_df,
                           geojson=geo_df.geometry,
                           locations=geo_df.index,
                           color="Joly",
                           center={"lat": 45.5517, "lon": -73.7073},
                           mapbox_style="open-street-map",
                           zoom=8.5)
fig.show()
In [4]:
import plotly.graph_objects as go
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_world_gdp_with_codes.csv')

fig = go.Figure(data=go.Choropleth(
    locations = df['CODE'],
    z = df['GDP (BILLIONS)'],
    text = df['COUNTRY'],
    colorscale = 'Blues',
    autocolorscale=False,
    reversescale=True,
    marker_line_color='darkgray',
    marker_line_width=0.5,
    colorbar_tickprefix = '$',
    colorbar_title = 'GDP<br>Billions US$',
))

fig.update_layout(
    title_text='2014 Global GDP',
    geo=dict(
        showframe=False,
        showcoastlines=False,
        projection_type='equirectangular'
    ),
    annotations = [dict(
        x=0.55,
        y=0.1,
        xref='paper',
        yref='paper',
        text='Source: <a href="https://www.cia.gov/library/publications/the-world-factbook/fields/2195.html">\
            CIA World Factbook</a>',
        showarrow = False
    )]
)

fig.show()
In [6]:
# Importar los módulos necesarios
import pandas as pd
import plotly.express as px
from urllib.request import urlopen
import json

# Cargar los datos geográficos de África desde el archivo GeoJSON
with urlopen('https://raw.githubusercontent.com/codeforamerica/click_that_hood/master/public/data/africa.geojson') as response:
    counties = json.load(response)

# Leer el archivo CSV con datos de población
df_africa = pd.read_csv("world_population.csv", dtype={"Country/Territory": str})

# Crear el mapa coroplético
fig = px.choropleth(df_africa, locations='Country/Territory', color='2022 Population',
                    color_continuous_scale="Viridis",
                    range_color=(0, 1000000),
                    scope="africa",
                    labels={'2022 Population':'Population'}
                   )
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
In [8]:
import plotly.graph_objects as go

fig = go.Figure(go.Scattergeo())
fig.update_geos(projection_type="natural earth")
fig.update_layout(height=300, margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
In [9]:
import plotly.graph_objects as go

fig = go.Figure(go.Scattergeo())
fig.update_geos(projection_type="orthographic")
fig.update_layout(height=300, margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
In [ ]: